import org.apache.commons.lang3.JavaVersion;
import org.apache.commons.lang3.SystemUtils;

import java.io.File;

/**
 * @author timo
 * @date 2022/6/16
 */
public class MySystemUtilsTest {

    public static void main(String[] args) {

        //获取用户目录，返回File
        File userDir = SystemUtils.getUserDir();
        System.out.println(userDir);
        //获取获取用户主目录，返回File
        File userHome = SystemUtils.getUserHome();
        System.out.println(userHome);
        //获取Java IO临时目录文件，返回File
        File javaIoTmpDir = SystemUtils.getJavaIoTmpDir();
        System.out.println(javaIoTmpDir);
        //获取Java Home目录，返回File
        File javaHome = SystemUtils.getJavaHome();
        System.out.println(javaHome);
        //从环境变量获取主机名。
        System.out.println(SystemUtils.getHostName());
        //获取系统变量,第二个参数默认值，如果系统变量不存在，就获取默认值
        System.out.println(SystemUtils.getEnvironmentVariable("TEMP", SystemUtils.USER_NAME));
        //%WINDIR%                 {系统目录- C:\WINDOWS}
        //%SYSTEMROOT%             {系统目录- C:\WINDOWS}
        //%SYSTEMDRIVE%            {系统根目录- C:}
        //%HOMEDRIVE%              {当前用户根目录- C:}
        //%USERPROFILE%            {当前用户目录- C:\Documents and Settings\wy}
        //%HOMEPATH%               {当前用户路径- \Documents and Settings\wy}
        //%TMP%                    {当前用户临时文件夹- C:\DOCUME~1\wy\LOCALS~1\Temp}
        //%TEMP%                   {当前用户临时文件夹- C:\DOCUME~1\wy\LOCALS~1\Temp}
        //%APPDATA%                {当前用户数据文件夹- C:\Documents and Settings\wy\Application Data}
        //%PROGRAMFILES%           {程序默认安装目录- C:\Program Files}
        //%COMMONPROGRAMFILES%     {文件通用目录- C:\Program Files\Common Files}
        //%USERNAME%               {当前用户名- wy}
        //%ALLUSERSPROFILE%        {所有用户文件目录- C:\Documents and Settings\All Users}
        //%OS%                     {操作系统名- Windows_NT}
        //%COMPUTERNAME%           {计算机名- IBM-B63851E95C9}
        //%NUMBER_OF_PROCESSORS%   {处理器个数- 1}
        //%PROCESSOR_ARCHITECTURE% {处理器芯片架构 - x86}
        //%PROCESSOR_LEVEL%        {处理器型号- 6}
        //%PROCESSOR_REVISION%     {处理器修订号- 0905}
        //%USERDOMAIN%             {包含用户帐号的域- IBM-B63851E95C9}
        //%COMSPEC%                {C:\WINDOWS\system32\cmd.exe}
        //%PATHEXT%                {执行文件类型 -.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.pyo;.pyc;.py;.pyw}
        //%PATH%                   {搜索路径}

        //判断java.awt.headless是否为true
        //java.awt.headless是J2SE的一种模式，用于在缺失显示屏、鼠标或者键盘时的系统配置。对于后端服务来讲，很多都是需要将这个属性设置为true的。
        System.out.println(SystemUtils.JAVA_AWT_HEADLESS);
        System.out.println(SystemUtils.isJavaAwtHeadless());
        //判断java版本是否为指定版本
        System.out.println(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));

    }
}
